home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio / Ray Dream Studio (CDRAYD1) (Ray Dream) (1995).iso / DREAMSDK.WIN / INCLUDE / XLITEAPI.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-05  |  3.5 KB  |  71 lines  |  [TEXT/mdos]

  1. //$Id: XLITEAPI.H 1.28 1995/11/05 07:58:49 psq-pc Exp $
  2.  
  3. #ifndef __XLITEAPI__
  4. #define __XLITEAPI__
  5.  
  6. #ifndef __XAPI__
  7. #include "XAPI.h"
  8. #endif
  9.  
  10. #ifndef __XRTYPES__
  11. #include "XRTypes.h"
  12. #endif
  13.  
  14. #if defined(qPointersD0) && defined(__MWERKS__) && defined(qPowerPC)
  15. #pragma pointers_in_D0
  16. #endif
  17.  
  18. struct TLightTraceElement;
  19. struct FACET3D;
  20. struct VERTEX3D;
  21.  
  22. typedef void (RDXAPITYPE *XLightForEachShadowBufferCallback)(BOOLEAN lightType, TRANSFORM* transform, FIXED halfAngle, void* priv);
  23.  
  24. // Lights
  25. typedef BOOLEAN (RDXAPITYPE *XLightGetColorProc)(ExternalInstance *data,const VECTOR3 &QQ,const VECTOR3 &DD,const FIXED &dist,COLOR &acolor, BOOLEAN &callForShadowEffect);
  26. typedef void (RDXAPITYPE *XLightSetTransformProc)(ExternalInstance *data,const TRANSFORM& transform);
  27. typedef BOOLEAN (RDXAPITYPE *XLightGetDirectionProc)(ExternalInstance *data, const VECTOR3 &QQ, VECTOR3 &DD, FIXED &dist);
  28. typedef BOOLEAN (RDXAPITYPE *XLightIsVisibleInPersProc)(ExternalInstance *data);
  29. typedef void (RDXAPITYPE *XLightShadowEffectProc)(ExternalInstance *data,const FIXED &distThru,const FIXED &distTotal,COLOR &acolor);
  30. typedef TLightTraceElement* (RDXAPITYPE *XLightGetNewTraceProc)(ExternalInstance *data,short &nb);
  31. typedef long (RDXAPITYPE *XLightGetPrimitiveIDProc)(ExternalInstance *data);
  32. typedef void (RDXAPITYPE *XLightForEachShadowBufferProc)(ExternalInstance *data, XLightForEachShadowBufferCallback proc, void* priv);
  33.  
  34. // Light Gels
  35. typedef BOOLEAN (RDXAPITYPE *XGelGetValueProc)(ExternalInstance *data,const VECTOR2 &uv,COLOR &value);
  36.  
  37. // Backgrounds
  38. typedef void (RDXAPITYPE *XBgGetUVColorProc)(ExternalInstance *data, const VECTOR2 &uv, const BOX2D &uvMinMax, COLOR &acolor);
  39. typedef void (RDXAPITYPE *XBgGetDirectionColorProc)(ExternalInstance *data,const VECTOR3 &DD, COLOR &acolor);
  40. typedef BOOLEAN (RDXAPITYPE *XBgIsUVProc)(ExternalInstance *data);
  41.  
  42. // Atmosphere
  43. typedef BOOLEAN (RDXAPITYPE *XAtmosphericLocalProc)(ExternalInstance *data,const VECTOR3 &AA,const VECTOR3 &BB,COLOR &filter);
  44. typedef BOOLEAN (RDXAPITYPE *XAtmosphericGlobalProc)(ExternalInstance *data,const VECTOR3 &PP,const VECTOR3 &DD,COLOR &filter);
  45.  
  46. // Ambient Light
  47. typedef BOOLEAN (RDXAPITYPE *XAmbientLightGetColorProc)(ExternalInstance *data, COLOR& color);
  48. typedef BOOLEAN (RDXAPITYPE *XAmbientLightGetBrightnessProc)(ExternalInstance *data, FIXED& brightness);
  49.  
  50. // Camera
  51. typedef BOOLEAN (RDXAPITYPE *XCameraSetTransformProc)(ExternalInstance *data,const TRANSFORM &atransform);
  52. typedef BOOLEAN (RDXAPITYPE *XCameraUVToRayProc)(ExternalInstance *data,const VECTOR2 &uv,VECTOR3 &OO,VECTOR3 &DD);
  53. typedef BOOLEAN (RDXAPITYPE *XCameraXYZToUVProc)(ExternalInstance *data,const VECTOR3 &PP,VECTOR2 &uv,FIXED &zz);
  54. typedef long (RDXAPITYPE *XCameraGetPrimitiveIDProc)(ExternalInstance *data);
  55. typedef long (RDXAPITYPE *XCameraClip3DProc)(ExternalInstance *data, FACET3D* RDDLocalFace, VERTEX3D* RDDLocalVertice, 
  56.                               FACET3D* RDDCameraFace, VERTEX3D* RDDCameraVertice, 
  57.                               FIXED *ClipBox);
  58. typedef BOOLEAN (RDXAPITYPE *XCameraClipLine3DProc)(ExternalInstance *data, VECTOR3& P1, VECTOR3& P2);
  59.  
  60. // Post render Effects
  61. typedef BOOLEAN (RDXAPITYPE *XPostRenderFilterFilterProc)(ExternalInstance *data, void* theScene,void* image,void* buffers);
  62. typedef BOOLEAN (RDXAPITYPE *XPostRenderFilterGetNeedsProc)(ExternalInstance *data, void* needs);
  63.  
  64.  
  65. #if defined(qPointersD0) && defined(__MWERKS__) && defined(qPowerPC)
  66. #pragma pointers_in_A0
  67. #endif
  68.  
  69. #endif
  70.  
  71.